Public Declare Auto Function SetCursorPos Lib "User32.dll" (ByVal X As Integer, ByVal Y As Integer) As Long
Public Declare Auto Function GetCursorPos Lib "User32.dll" (ByRef lpPoint As Point) As Long
Public Declare Sub mouse_event Lib "user32" Alias "mouse_event" (ByVal dwFlags As Long, ByVal dx As Long, ByVal dy As Long, ByVal cButtons As Long, ByVal dwExtraInfo As Long)
Public Const MOUSEEVENTF_LEFTDOWN = &H2 ' left button down
Public Const MOUSEEVENTF_LEFTUP = &H4 ' left button up
Public Const MOUSEEVENTF_MIDDLEDOWN = &H20 ' middle button down
Public Const MOUSEEVENTF_MIDDLEUP = &H40 ' middle button up
Public Const MOUSEEVENTF_RIGHTDOWN = &H8 ' right button down
Public Const MOUSEEVENTF_RIGHTUP = &H10 ' right button up

'2- Then you call your functions and subs
'2.1- To move the cusor:
   SetCursorPos(X,Y) ' Where X and Y are in pixel
'2.2- To get cursor location
   Dim tempPos As Point
   Dim R As Long = GetCursorPos(tempPos) ' You'll get your location in TempPos
'2.3- To semulate clicks
'2.3.1 Left click
   mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0)
   mouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, 0)
'2.3.2 Right click
   mouse_event(MOUSEEVENTF_RIGHTDOWN, 0, 0, 0, 0)
   mouse_event(MOUSEEVENTF_RIGHTUP, 0, 0, 0, 0)
'2.3.3 Middle Click
   mouse_event(MOUSEEVENTF_MIDDLEDOWN, 0, 0, 0, 0)
   mouse_event(MOUSEEVENTF_MIDDLEUP, 0, 0, 0, 0)

'2.4- To semulate drag and drop:
   mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0)
   SetCursorPos(X,Y) ' Where X and Y are in pixel
   mouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, 0)